@深巷
2年前 提问
1个回答

实现容错系统的常用方法有哪些

齐士忠
2年前

实现容错系统的常用方法如下:

  • 空闲备件:“空闲备件”,其意思是在系统中配置一个处于空闲状态的备用部件。该方法是提供容错的一条途径,当原部件出现故障时,该空闲备件就不再“空闲”,它就取代原部件的功能。这种类型的容错的一个简单例子是将一台慢速打印机连到系统上,只有在当前所使用的打印系统出现故障时才使用该打印机。

  • 负载平衡:负载平衡是另一种提供容错的途径,在具体的实现时使用两个部件共同承担一项任务,一旦其中的一个部件出现故障,另一个部件立即将原来由两个部件负担的任务全部承担下来,负载平衡方法通常使用在双电源的服务器系统中。如果一个电源出现了故障,另一个电源就承担原来两倍的负载。在网络系统中常见的负载平衡是对称多处理。在对称多处理中,系统中的每一个处理器都能执行系统中的所有工作。这意味着,这种系统在不同的处理器之间竭尽全力保持负载平衡。由于这个原因,对称多处理能才在CPU级别上提供容错的能力。

  • 镜像:在容错系统中镜像技术是常用的一种实现容错的方法。在镜像技术中,两个部件要求执行完全相同的工作,如果其中的一个出现故障,另一个系统则继续工作。通常这种方法用在磁盘子系统中,两个磁盘控制器对同样型号的磁盘的相同扇区内写入完全相同的数据。在镜像技术中,要求两个系统完全相同,而且两个系统都完成同一个任务。当故障发生时,系统将其识别出来并切换到单个系统操作状态。事实证明,对磁盘系统而言镜像技术能很好地工作,但如果要实现整个系统的镜像是比较困难的。其原因是在两台机器上对内部总线传输和软件产生的系统故障等事件使用镜像技术是存在一定的难度的。

  • 复现:复现又称延迟镜像,它是镜像技术的一个变种。在复现技术中,需要有两个系统:辅助系统和原系统。辅助系统从原系统中接收数据,当原系统出现故障时,辅助系统就接替原系统的工作。利用这种方式用户就可以在接近出故障的地方重新开始工作。复现与镜像的主要不同之处在于重新开始工作以及在原系统上建立的数据被复制到辅助系统上时存在着一定的时间延迟。换句话来说,复现并非是精确的镜像系统。尽管如此,在高可用性系统中还使用复现技术的原因是可以减少网络数据的丢失。

  • 冗余系统配件:在系统中重复配置一些关键的部件可以增强故障的容错性。采用冗余系统配件的措施有些必须在系统设计之时就得考虑进去,有的则可以在系统安装之后再加进去。